htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 7.982 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl # --------------------------------------------------------- # httperl.pl (htt[p]erl) # # Script em Perl usado para simular um servidor web, muito # bom para quem deseja entender melhor o protocolo de # comunicação entre browser e servidor # # # Programado por Fábio Berbert de Paula # <fabio@vivaolinux.com.br> # # Rio de Janeiro, 06 de Janeiro de 2003 # --------------------------------------------------------- $| = 1; # criar socket na porta 80 do servidor use IO::Socket; my $sock = new IO::Socket::INET ( LocalPort => '80', Type => SOCK_STREAM, Proto => 'tcp', Listen => 10 ); die "Não consegui iniciar o servidor: $!\n" unless $sock; print "Servidor iniciado ...\n"; # definir o cabeçalho de retorno básico my $retorno = " HTTP/1.1 200 OK Server: htt[p]erl/1.0 (GNU/Linux) Connection: close Content-Type: text/html <html> <body> Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>. </body> </html> "; # aceitar conexões TCP while (my $new_sock = $sock->accept()) { while($linha = <$new_sock>) { # imprimir o cabeçalho recebido pelo browser do usuário print $linha; # se linha vazia, então o browser envio câmbio, vamos respondê-lo if ($linha!~/[A-Za-z0-9]/) { print $new_sock $retorno; # fechar conexão com o cliente $new_sock = ''; } } close(W); } close($sock);
Introdução a Persistência de Estrutura de Dados em Perl
Calculadora de notas versão Perl
Algoritmo de Fatoração de Fermat (FFA) em Perl
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)